package br.com.sebrae.pr.sgp.entities.base;

import java.io.Serializable;
import java.util.Date;

import br.com.sebrae.pr.sgp.entities.Usuario;

/**
 * Classe base para as classes que representam entidades de banco da aplicação.
 * 
 * @author Tanaka
 * 
 */
public class BasePersistente implements Serializable {
	private static final long serialVersionUID = 5827141576605691784L;

	private Long id;
    private Date dtInclusao;
    private Date dtAlteracao;
    private Usuario usuarioInclusao;
    private Usuario usuarioAlteracao;
    private Usuario usuarioLogado;
    private Boolean ativo;

    public BasePersistente() {
        super();
    }

    public BasePersistente(final long id) {
        this();
        this.id = Long.valueOf(id);
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Date getDtaInclusao() {
        return dtInclusao;
    }

    public void setDtaInclusao(Date dtaInclusao) {
        this.dtInclusao = dtaInclusao;
    }

    public Date getDtaAlteracao() {
        return dtAlteracao;
    }

    public void setDtaAlteracao(Date dtaAlteracao) {
        this.dtAlteracao = dtaAlteracao;
    }

    public Usuario getUsuarioInclusao() {
        if (usuarioInclusao == null) {
            usuarioInclusao = new Usuario();
        }
        return usuarioInclusao;
    }

    public void setUsuarioInclusao(Usuario usuarioInclusao) {
        this.usuarioInclusao = usuarioInclusao;
    }

    public Usuario getUsuarioAlteracao() {
        if (usuarioAlteracao == null) {
            usuarioAlteracao = new Usuario();
        }
        return usuarioAlteracao;
    }

    public void setUsuarioAlteracao(Usuario usuarioAlteracao) {
        this.usuarioAlteracao = usuarioAlteracao;
    }

    public Usuario getUsuarioLogado() {
        if (usuarioLogado == null) {
            usuarioLogado = new Usuario();
        }
        return usuarioLogado;
    }

    public void setUsuarioLogado(Usuario usuarioLogado) {
        this.usuarioLogado = usuarioLogado;
    }

    public Boolean getAtivo() {
        return ativo;
    }

    public void setAtivo(Boolean ativo) {
        this.ativo = ativo;
    }

}
